package com.atguigu.common.to.es;

import lombok.Data;

import java.math.BigDecimal;
import java.util.List;

/**
 * @author ：TJH
 * @date ：Created in 2020/6/4 8:30
 * @description：商品ES存储模型
 */
@Data
public class SkuEsModel {


    /**
     * PUT product
     * {
     * "mappings": {
     * "properties": {
     * "skuId": {
     * "type": "long"
     * },
     * "spuId": {
     * "type": "keyword"
     * },
     * "skuTitle": {
     * "type": "text",
     * "analyzer": "ik_smart"
     * },
     * "skuPrice": {
     * "type": "keyword"
     * },
     * "skuImg": {
     * "type": "keyword",
     * "index": false,
     * "doc_values": false
     * },
     * "saleCount": {
     * "type": "long"
     * },
     * "hasStock": {
     * "type": "long"
     * },
     * "hotScore": {
     * "type": "long"
     * },
     * "brandId": {
     * "type": "long"
     * },
     * "catalogId": {
     * "type": "long"
     * },
     * "brandName": {
     * "type": "keyword",
     * "index": false,
     * "doc_values": false
     * },
     * "brandImg": {
     * "type": "keyword",
     * "index": false,
     * "doc_values": false
     * },
     * "catalogName": {
     * "type": "keyword",
     * "index": false,
     * "doc_values": false
     * },
     * "attrs": {
     * "type": "nested",
     * "properties": {
     * "attrId": {
     * "type": "long"
     * },
     * "attrName": {
     * "type": "keyword",
     * "index": false,
     * "doc_values": false
     * },
     * "attrValue": {
     * "type": "keyword"
     * }
     * }
     * }
     * }
     * }
     * }
     */

    private Long skuId;

    private Long spuId;

    private String skuTitle;

    private BigDecimal skuPrice;

    private String skuImg;

    /**
     * 销量
     */
    private Long saleCount;

    /**
     * 是否有库存
     */
    private Boolean hasStock;

    /**
     * 热度评分
     */
    private Long hotScore;

    private Long brandId;

    private Long catalogId;

    private String catalogName;

    private String brandName;

    private String brandImg;

    private List<Attrs> attrs;


    @Data
    public static class Attrs {
        private Long attrId;

        private String attrName;

        private String attrValue;
    }
}
